<template>
  <div>
    <h2>3. vue更新DOM是异步的</h2>
    <p ref="myP">{{ count }}</p>
    <button @click="btn">点击count+1, 马上提取p标签内容</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      count: 1,
    };
  },
  methods: {
    btn() {
      // 累加更新 data 的数据
      this.count++;
      // 💥注意：Vue 更新 DOM 是异步的，更新 data 后还要进行 diff 算法等一些列的操作，所以更新DOM并不是立刻的
      console.log("在外面", this.$refs.myP.innerHTML); // 1
      // 🔔：DOM更新后，会挨个触发 $nextTick 里的回调函数
      this.$nextTick(() => {
        // 立刻获取 DOM 的内容
        console.log("$nextTick回调函数内", this.$refs.myP.innerHTML); // 2
      });
    },
  },
};
</script>

<style>
</style>